package com.hicorp.segment.mapper;

import com.hicorp.segment.mapper.basic.BasicMapper;
import com.hicorp.segment.pojo.po.BackendApi;

import java.util.List;

/**
 * BackendApiMapper继承基类
 */
public interface BackendApiMapper extends BasicMapper<BackendApi> {
    /**
     * 按照用户id查询其可访问的后端接口
     * @param userId 用户id
     * @return 所有可访问的后端接口
     */
    List<BackendApi> selectByUserId(Long userId);

    /**
     * 按照用户可访问的菜单查询其可访问的后端接口
     * @param menuIdList 该用户可访问的菜单列表
     * @return 菜单可访问的后端接口
     */
    List<BackendApi> selectBackendApiListByMenuIdList(List<Long> menuIdList);

    /**
     * 按照用户可执行的操作查询其可访问的后端接口
     * @param operationIdList 该用户可执行的操作
     * @return 操作可访问的后端接口
     */
    List<BackendApi> selectBackendApiListByOperationIdList(List<Long> operationIdList);

    /**
     * 清空表数据
     */
    int truncateBackendApi();
}